The present invention relates, in general, to testing and simulating communication equipment and, in particular, to testing and simulating communication equipment over multiple transmission channels.
Due to the complexity and expense of producing communication equipment, producers often simulate their product prior to manufacture. Such simulation is often complex, does not allow for the simulation of more than one communication channel, does not allow a user to easily simulate a number of user-definable configurations and communication channels, does not run in both real-time and non-real-time, does not work in conjunction with actual communication equipment, and does not run on an inexpensive personal computer but on expensive specialized equipment. All of these shortcomings are addressed by the present invention.
U.S. Pat. No. 3,982,244, entitled xe2x80x9cRADAR ANTENNA, MONOPULSE COMPARATOR NETWORK AND MIXER SIMULATOR,xe2x80x9d discloses a device for simulating a radar tracking system and the components that make up the same. U.S. Pat. No. 3,982,244 includes a random noise generator for simulating the effects of noise on a radar tracking system and a number of simulators for simulating various effects on a radar signal caused by the target, receipt of numerous copies of the signal, clutter, and electronic counter measures. U.S. Pat. No. 3,982,244 simulates the effects on a signal that travels from one point to another and does not simulate the effects on a signal that travels over multiple channels as does the present invention. Also, U.S. Pat. No. 3,982,244 does not give the user as many options in defining the simulation as does the present invention. U.S. Pat. No. 3,982,244 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,794,128, entitled xe2x80x9cAPPARATUS AND PROCESSES FOR REALISTIC SIMULATION OF WIRELESS INFORMATION TRANSPORT SYSTEMS,xe2x80x9d discloses a rather complex device for and method of simulating a wireless communication system. U.S. Pat. No. 5,794,128 models the physical layers and the link layers of the communication system whereas the present invention does not. Also, U.S. Pat. No. 5,794,128 does not give the user as many options in defining the simulation as does the present invention. U.S. Pat. No. 5,794,128 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,812,558, entitled xe2x80x9cDEVICE AND METHOD FOR GENERATING MULTIPLEXED SIGNALS WITH REAL TIME INPUTS FOR TESTING VOICE GRADE CHANNELS IN A DEMULTIPLEXER,xe2x80x9d discloses a device for and method of generating a signal for testing demultiplexing equipment in a communication system. U.S. Pat. No. 5,812,558 does not simulate and test the effects of multiple communication channels on a transmission as does the present invention. U.S. Pat. No. 5,812,558 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 5,862,362, entitled xe2x80x9cNETWORK FAILURE SIMULATOR,xe2x80x9d discloses a method of simulating the effects of a software program being disconnected from the computer on which the software program should be running. U.S. Pat. No. 5,862,362 does not simulate and test the effects of multiple communication channels on a transmission as does the present invention. U.S. Pat. No. 5,862,362 is hereby incorporated by reference into the specification of the present invention.
It is an object of the present invention to simulate multiple communication channels in a non-complex manner and to allow a user to define the configuration and the number of communication channels.
It is another object of the present invention to simulate multiple communication channels in both real-time and non-real-time on a personal computer and allow the inclusion of actual communication equipment.
The present invention is a method of simulating the effects of a plurality of communication channels on a signal transmitted therein. The present invention allows an inexpensive personal computer to function as a multi-network communication channel simulator to predict how various communications equipments will perform over a variety of industry defined and user defined networks. The present invention allows a user to cascade a number of communications channels together in either real time or non-real-time to predict the effects of multiple channels on a particular piece of equipment. The errors induced in the signal by each channel are independent and cumulative. Thus, the present invention predicts the end-to-end channel effects that a signal encounters as it traverses the channels.
The first step is acquiring a state transition matrix for each communication channel that a user desires to simulate.
The second step is acquiring an error matrix for each channel.
The third step is selecting the first channel to simulate.
The fourth step is assuming that the signal is in a particular state.
The fifth step is receiving the signal, or a part thereof, in real-time or in non-real-time.
The sixth step is generating a first number between 0 and 1, preferably a random number.
The seventh step is determining the state to which the signal, or part thereof, transitions by comparing the first number to the appropriate row in the state transition matrix.
The eighth step is transitioning the signal, or part thereof, to the state determined in the seventh step.
The ninth step is generating a series of numbers, where each number in the series is between 0 and 1, preferably a random number, and where each number in the series corresponds to an error that may be injected into the signal.
The tenth step is determining what errors, if any, to inject into the signal, or part thereof, by comparing each number in the series of numbers generated in the ninth step to its corresponding entry in the column of the error matrix that corresponds to the state of the signal. The errors include lost signal, error signal, extra signal, random error, phase shift, signal out of order, and channel delay. Multiple errors may be injected into the signal except when the lost-signal error is to be injected into the signal, or part thereof. When the lost-signal error is to be injected into the signal, or part thereof, no other error is injected into the signal, or part thereof.
If one of the errors determined in the tenth step is lost signal then the eleventh step is discarding the signal, not injecting any other error into the signal, selecting another channel if the user desires, assuming that the next signal selected is in the same state to which the previous signal transitioned, returning to the fifth step if another channel is selected, and transmitting the signal if another channel is not selected. Otherwise, the twelfth step is injecting the errors determined in the tenth step into the signal, selecting another channel if the user desires, returning to the fifth step if another channel is selected, assuming that the next signal selected is in the same state to which the previous signal transitioned, and transmitting the signal if another channel is not selected.
The signal resulting from the eleventh step or the twelfth step may be transmitted to communications equipment in real-time or non-real time or to a file in real-time or non-real-time.
All of the error injected into the signal may be recorded in total, by error type, and on a per channel basis for generating various error statistics.